// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); «Наслаждайтесь игрой в Pin Up Aviator: online казино в Узбекистане» – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

«Наслаждайтесь игрой в Pin Up Aviator: online казино в Узбекистане»

«Как начать играть в Pin Up Aviator: регистрация и первый шаг»

Чтобы начать играть в Pin Up Aviator, вам необходимо пройти регистрацию на официальном сайте казино.
В качестве игрока из Узбекистана, вы можете легко создать учётную запись, используя свои контактные данные.
После регистрации, вам необходимо сделать первый депозит, чтобы начать играть в игру Aviator.
Казино Pin Up предлагает множество методов оплаты, включая популярные в Узбекистане.
После пополнения баланса, вы можете найти игру Aviator в разделе «Слоты» или «Популярные игры».
Нажмите на иконку игры, чтобы запустить её и ознакомиться с интерфейсом.
В игре Aviator вам необходимо угадать момент вылета самолёта, чтобы заработать максимальную выигрышную сумму.
Начните играть в Aviator сегодня и наслаждайтесь увлекательным опытом казино Pin Up.

«Наслаждайтесь игрой в Pin Up Aviator: online казино в Узбекистане»

«Типы ставок в Pin Up Aviator: увеличьте свои шансы на победу»

В казино Pin Up Aviator доступны различные типы ставок, которые могут увеличить ваши шансы на победу. Во-первых, вы можете сделать стандартную ставку, которая позволит вам зарабатывать деньги, когда самолет долетит до определенной отметки. Во-вторых, вы можете воспользоваться ставкой «Большой победы», которая может принести вам огромную выигрышную сумму, если самолет долетит до максимальной отметки. Кроме того, вы можете использовать автоставки, которые позволят вам автоматически делать ставки в определенные моменты времени. Все эти типы ставок могут помочь вам увеличить свои шансы на победу в казино Pin Up Aviator. Не забудьте также воспользоваться бонусами и промокодами, которые предоставляются казино, чтобы увеличить свой выигрыш.

«Преимущества игры в Pin Up Aviator в онлайн казино Узбекистана»

Выберите Pin Up онлайн казино для игры в авиатор в Узбекистане и наслаждайтесь преимуществами:
1. Большой выбор языков, включая русский, для удобства игры.
2. Возможность игры в авиатор на мобильных устройствах.
3. Широкий выбор платежных методов, включая популярные в Узбекистане.
4. Надежное и безопасное окружение для защиты ваших данных.
5. Круглосуточная поддержка клиентов на русском языке.
6. Большие выигрыши и накопления в игре авиатор.
7. Возможность играть в авиатор бесплатно в демо-режиме.
8. Удобный и интуитивно понятный интерфейс для комфортной https://pin-up-casino-uz9.top/ игры.

«Стратегии игры в Pin Up Aviator: как улучшить свои результаты»

Вы играете в Pin Up Aviator и хотите улучшить свои результаты? Вот несколько стратегий, которые могут помочь вам:
1. Используйте оптимальную ставку: ставьте ту сумму, которую можете позволить себе потерять, но при этом достаточную, чтобы получить выгоду от побед.
2. Наблюдайте за тенденциями: анализируйте предыдущие результаты игры, чтобы обнаружить тенденции и сделать более информированные ставки.
3. Воспользуйтесь автоplay: автоматическая функция может помочь вам сохранить спокойствие и соблюдать дисциплину, когда вы играете в Aviator.
4. Установите остановку на выигрыше: решите заранее, на какую сумму вы будете останавливаться, и придерживайтесь этого решения.
5. Игровой бюджет: определите сумму, которую вы собираетесь потратить на игру, и не превышайте её.
6. Упражняйтесь: бесплатные демо-версии игры могут помочь вам освоить стратегии и познакомиться с игрой.
7. Не преследуйте убытков: если вы проигрываете, не пытайтесь вернуть утраченные деньги, так как это может привести к ещё большим потерям.
8. Играйте трезво: искренне наслаждайтесь игрой и никогда не играйте под влиянием эмоций или алкоголя.

«Отзывы о Pin Up Aviator: что думают наши игроки»

Вы ищете отзывы о популярной игре Pin Up Aviator в Узбекистане? Наши игроки оценивают ее простоту управления и захватывающую механику. «Мне нравится то, как работает механика мультипликатора в игре», – делится впечатлениями один из наших игроков. «Я смог выиграть несколько крупных ставок благодаря интуитивному геймплею», – добавляет другой игрок.
Несмотря на то, что удача играет большую роль в игре, многие игроки наслаждаются напряжением, которое она создает. «Я люблю риск и адреналин, которые дает эта игра», – говорит еще один игрок. Кроме того, многие игроки ценят возможность соревноваться с другими игроками в рейтингах. «Я всегда стараюсь быть в топ-10 лучших игроков», – делится своим опытом один из наших игроков.
Однако, несмотря на все преимущества, некоторые игроки жалуются на то, что игра может быть слишком зависимой от удачи. «Иногда мне кажется, что выигрыш или проигрыш зависит только от удачи», – сомневается один из игроков. Тем не менее, большинство игроков согласны с тем, что игра доставляет много удовольствия и может принести хорошие выигрыши. «Я рекомендую всем попробовать эту игру хотя бы раз», – делится своим мнением один из наших игроков.

«Трудоустройство в онлайн казино: ваши возможности в Pin Up Aviator»

Ваше поиск работы в онлайн казино закончился! Pin Up Aviator предлагает широкий выбор возможностей для трудоустройства.
1. Станьте дилером в онлайн казино Pin Up и погрузитесь в атмосферу настоящего казино.
2. Работайте в качестве оператора поддержки клиентов и решайте вопросы наших игроков.
3. Возглавите маркетинговый отдел и помогите нам привлекать новых клиентов.
4. Станьте разработчиком игр и создавайте уникальные онлайн игровые автоматы.
5. Будьте в курсе последних тенденций в игровой индустрии в качестве нашего аналитика.
6. Организуйте безопасность нашей платформы, работая в нашей службе безопасности.
7. Развивайте наш бренд, работая в нашей команде по связям с общественностью.
8. Обеспечивайте бесперебойную работу нашего сайта, работая в нашей IT-команде.
В Pin Up Aviator мы ценим таланты и предлагаем отличную возможность для карьерного роста!

Иван, 28 лет:

Отличное онлайн-казино в Узбекистане! Я пробовал множество разных игр в Pin Up Aviator, и мне все нравятся. Самое главное, что вы можете играть в любое время и с любого устройства. Кроме того, выигрыши выплачиваются мгновенно, и поддержка всегда готова помочь в случае возникновения вопросов. Наслаждайтесь игрой в Pin Up Aviator, рекомендую!

Алина, 35 лет:

Какое интересное открытие – онлайн-казино Pin Up Aviator в Узбекистане! Я нашла его благодаря рекомендации подруги, и с тех пор не могу перестать играть. Здесь вы можете найти множество разнообразных игр, но моя любимая – Aviator. Она простая, но в то же время увлекательная, и выигрыши могут быть очень крупными. Кроме того, дизайн сайта приятный и удобный в использовании. Попробуйте сами – вы не regretnete!

Часто задаваемые вопросы о Pin Up Aviator: онлайн казино в Узбекистане

1. Можно ли играть в Pin Up Aviator в Узбекистане? Да, онлайн казино Pin Up доступно для игроков из Узбекистана.

2. Как зарегистрироваться в Pin Up Casino? Для регистрации необходимо заполнить форму на сайте казино и подтвердить свой электронный адрес.

3. Какие игры доступны в Pin Up Aziator? В казино доступны широкий спектр игр, включая авиатор и другие популярные игры.

4. Как начать играть в Pin Up Aviator? После регистрации и пополнения счета, вы можете выбрать игру Авиатор и начать играть.

5. Насколько безопасно играть в Pin Up Casino в Узбекистане? Pin Up Casino использует передовые технологии защиты данных, чтобы обеспечить безопасную игру для всех игроков.

Design and Develop by Ovatheme